<template>
  <div class="app-container">
      <el-form label-width="120px">
         <el-form-item label="医院名称">
            <el-input v-model="hospitalSet.hosname"/>
         </el-form-item>
         <el-form-item label="医院编号">
            <el-input v-model="hospitalSet.hoscode"/>
         </el-form-item>
         <el-form-item label="api基础路径">
            <el-input v-model="hospitalSet.apiUrl"/>
         </el-form-item>
         <el-form-item label="联系人姓名">
            <el-input v-model="hospitalSet.contactsName"/>
         </el-form-item>
         <el-form-item label="联系人手机">
            <el-input v-model="hospitalSet.contactsPhone"/>
         </el-form-item>
         <el-form-item v-if="$route.params.id==null">
            <el-button type="primary" @click="saveOrUpdate">保存医院设置信息</el-button>
         </el-form-item>
         <el-form-item v-if="$route.params.id!=null">
            <el-button type="primary" @click="saveOrUpdate">更新医院设置信息</el-button>
         </el-form-item>
      </el-form>
   </div>
</template>

<script>
import hospset from '@/api/hospset'
export default {
    data() {
        return {
            // 表单对象
            hospitalSet:{}
        }
    },
    created() {
        // 首先要判断是否存在参数 因为添加无参数 不能让执行这里
        if(this.$route.params && this.$route.params.id) {
            const id = this.$route.params.id
            this.selectHospById(id)
        }else{
            // 表单数据清空 避免出现点击修改后点新增出现的数据遗留问题
            this.hospitalSet = {}
        }
    },methods: {
        saveOrUpdate(){
            // 判断 如果路由参数为空 则代表新增数据 否则代表更改数据
            // 第二种思路 判断hospitalSet.id 新增数据中没有id属性 修改数据有id属性
            if(this.$route.params.id==null){
                hospset.saveHospSet(this.hospitalSet).then(response =>{
                this.$message({
                    type: 'success',
                    message: '添加医院设置成功!'
                })
                this.$router.push({path:'/hospset/list'})
                }).catch(response =>{
                    this.$message({
                        type: 'error',
                        message: '添加医院设置失败!'
                    })
                })
            }else{
                hospset.updateHospSet(this.hospitalSet).then(response =>{
                    this.$message({
                    type: 'success',
                    message: '更新医院设置成功!'
                })
                this.$router.push({path:'/hospset/list'})
                }).catch(response => {
                    this.$message({
                        type: 'error',
                        message: '更新医院设置失败!'
                    })
                })
            }
        },
        selectHospById(id) {
         hospset.selectHospById(id) 
            .then(response => {
               this.hospitalSet = response.data
            })
        },
    }
}
</script>


